export default {

    namespaced: true,

    state: {
        // 定义购物车中的数据存放到carts中
        carts:[],
        // 定义购买数量的存放到cartBuyNum中
        // 还要注意的问题是：一刷新页面数据不能清空，要存起来原来的数据，用localstore
        // 有就用localStore中的数据，没有就从0开始计数
        cartBuyNum:localStorage.getItem('cartBuyNum') || 0
    },
    getters: {

    },
    mutations: {

        // 定义存放购物车数据函数   需要异步请求数据来存放购物车数据，所以还要在actions触发mutations 
        setCarts(state,data){
            state.carts = data
        },
        // 定义存放购买数量数据函数  这个数据的处理不需要放在异步请求中，所以直接用mutations即可
        setCartBuyNum(state){
            state.cartBuyNum++
            localStorage.setItem('cartBuyNum',state.cartBuyNum)
        }
    },
    // 更新数据，修改数据
    actions: {
        setCarts(context){
            // 发送异步请求 
            let resData = [
                {id:1,title:'张三',price:1.11},
                {id:1,title:'李四',price:2.11},
                {id:1,title:'赵武',price:3.11},
                {id:1,title:'何七',price:4.11},
            ]
            // 触发mutations  ->更新数据
            context.commit('setCarts',resData)
        }
    }
}